package com.gitee.chili.leisure.service;

import com.gitee.chili.leisure.base.BaseService;
import com.gitee.chili.leisure.domain.Member;
import com.gitee.chili.leisure.domain.Room;
import com.gitee.chili.leisure.domain.dto.EntryRoomQuery;
import com.gitee.chili.leisure.game.RoomDetail;
import com.gitee.chili.leisure.repository.RoomRepository;

/**
 * IRoomService
 *
 * @author week solider
 * @since 2020.09.04
 */
public interface IRoomService extends BaseService<Long, Room, RoomRepository> {

    RoomDetail createRoom(Room room);

    void entryRoom(EntryRoomQuery query, Room room, Member member);

    void entryRoom(EntryRoomQuery query);

    void leaveRoom(Long roomNum, Long memberId);

    void dissolved(Long roomNum);
}
